namespace Slaks.DocumentSerialization
{
	public class Grammar
	{
		public class WordnetDocument
		{
			public static readonly string WordnetDocumentElement = "wordnet-document";
		}
		public class Senses
		{
			public static readonly string SensesElement = "senses";
			public static readonly string NounElement = "noun";
			public static readonly string VerbElement = "verb";
			public static readonly string AdjectiveElement = "adjective";
			public static readonly string AdverbElement = "adverb";
			public static readonly string TotalElement = "total";
		}

		public class Synonym
		{
			public static readonly string SynonymElement = "synonym";
			public static readonly string SynonymIdElement = "synonym-id";
		}

		public class Document
		{
			public static readonly string DocumentElement = "document";
			public static readonly string FileNameElement = "file-name";
		    public static readonly string OriginalFileNameElement = "original-file-name";
			public static readonly string TotalTermCountElement = "total-term-count";
			public static readonly string UniqueTermCountElement = "unique-term-count";
			public static readonly string MostFrequentTermIdElement = "most-frequent-term-id";
			public static readonly string TotalSentenceCountElement = "total-sentence-count";
		}

		public class MostFrequencyInfo
		{
			public static readonly string MostFreqyencyInfoElement = "most-frequency-info";
			public static readonly string TotalMostFrequentIdElement = "total-most-frequent-id";
			public static readonly string SectionFrequencyElement = "section-frequency";
			public static readonly string SectionFrequencyNameAttribute = "name";
			public static readonly string SectionFrequencyIdAttribute = "id";
		}

		public class Node
		{
			public static readonly string NodeElement = "node";
			public static readonly string IdElement = "id";
			public static readonly string TermElement = "term";
			public static readonly string TotalTermFrequencyElement = "total-term-frequency";
		}

		public class Section
		{
			public static readonly string SectionElement = "section";
			public static readonly string TermFrequencyElement = "term-frequency";
		}

		public class Sentence
		{
			public static readonly string SentenceElement = "sentence";
			public static readonly string NumberElement = "number";
			public static readonly string PlaceElement = "place";
			public static readonly string ConnectingWordElement = "connecting-word";
			public static readonly string NextIdElement = "next-id";
		}

		public class SectionType
		{
			public static readonly string SectionTypeAttribute = "type";
			public static readonly string LinkTypeAttribute = "link";
			public static readonly string TextTypeAttribute = "text";
			public static readonly string TitleTypeAttribute = "title";
			public static readonly string HeadingTypeAttribute = "heading";
			public static readonly string CaptionTypeAttribute = "caption";
			public static readonly string MataKeywordTypeAttribute = "meta-keyword";
			public static readonly string MetaDescriptionTypeAttribute = "meta-description";
		}

		public class ParsedFiles
		{
			public static readonly string ParsedFilesElement = "parsed_files_element";
			public static readonly string FileElement = "file";
		}

		public class TermIdInfo
		{
			public static readonly string TermIdInfoElement = "term_id_info";
			public static readonly string TotalElement = "total";
			public static readonly string EntryElement = "entry";
			public static readonly string TermAttr = "term";
			public static readonly string IdAttr = "id";
			public static readonly string FrequencyAttr = "frequency";
		}

		public class DictionaryInfo
		{
			public static readonly string DictionaryInfoElement = "dictionary_info";
			public static readonly string TotalElement = "total";
			public static readonly string EntryElement = "entry";
			public static readonly string IdAttr = "id";
		}

		public class TermDocumentFrequency
		{
			public static readonly string TermDocumentFrequencyElement = "term-document-frequency";
			public static readonly string EntryElement = "entry";
			public static readonly string TermIdElement = "term-id";
			public static readonly string Frequency = "frequency";
			public static readonly string DocumentElement = "document";
		}
	}
}